As computer technology improves, computer systems with more powerful processor(s) and larger storage unit(s) become more commonplace. With this growth in processing power and storage size, implementation of digital imaging technology also becomes more practical. For example, higher resolution images may be processed in a shorter time period.
Digital images of a scene may be directly acquired (e.g., by a digital camera) or conventionally taken by a film-based camera and later digitized (e.g., by a scanner). Once an image is in digital format, it may be digitally manipulated. Often, a first step in digital image processing involves the selection of certain portions of a scene. Digital techniques (such as filtering, copying, and pasting) may then be applied to the selected portion(s).
Currently, a number of techniques are used to extract a foreground from an image with varying degrees of user involvement. For example, a user can use a magic wand tool to designate a user-specified point or region to compute a region of connected pixels such that all the selected pixels fall within some adjustable tolerance of the color statistics of the specified region. Finding the correct tolerance level is often cumbersome with a magic wand. More specifically, since the distribution in color space of foreground and background pixels have a considerable overlap, a satisfactory segmentation is hard to achieve.
Another current technique utilizes intelligent scissors (a.k.a., live wire or magnetic lasso) which allows a user to choose a “minimum cost contour” by roughly tracing an object's boundary with a pointing device such as a mouse. As the pointing device moves, the minimum cost path from the cursor position back to the last “seed” point is shown. If the computed path deviates from the desired one, additional user-specified “seed” points can be required. One main limitation of this tool is apparent: for highly texture (or un-textured) regions many alternative “minimal” paths exist. Consequently, many user interactions can be necessary to obtain a satisfactory result.
Bayes matting is yet another technique which models color distributions probabilistically to achieve full alpha mattes. More particularly, the user specifies a “trimap” in which background and foreground regions are marked, and alpha values are computed over the remaining region. High quality mattes may be obtained, but generally when the remaining region is not relatively too large and the background/foreground color distributions are sufficiently well separated. Also, a considerable degree of user interaction can be required to construct an internal and an external path for Bayes matting.
Furthermore, an image segmentation technique based on graph cut utilizes a setting similar to Bayes matting, i.e., including trimaps and probabilistic color models, to achieve segmentation. In particular, graph cuts restrict the alpha at each pixel to have a value of 0, or 1, without any gradations. Even though graph cuts generally provide better results than, for example, Bayes matting, graph cuts still require that a user supply the trimap by labeling some foreground and background portions, which gives a trimap.
Accordingly, more efficient and improved extraction of a desired portion of a scene is desired.